namespace GameKit.Core.Context
{
    /// <summary>
    /// Context/上下文
    /// </summary>
    /// <summary>有生命周期，初始化和丢弃</summary>
    public interface IContext
    {
        string Name { get; set; }
        void Initialize();
        void Dispose();
        void Register<T>(T instance);
        void Register(string tag, object instance);
        void Unregister<T>();
        void Unregister(string tag);
        T Get<T>();
        T Get<T>(string tag);
    }
}